package com.gitee.sxran.dynagraphql;

import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;

import java.util.Map;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;

/**
 * @see com.gitee.sxran.dynagraphql.DynGraphqlResolver
 * 只能重写 execPath方法。
 */
public abstract class DynGraphqlResolverSync extends DynGraphqlResolver {


    /**
     * @param json 数组
     */
    public DynGraphqlResolverSync(JSONArray json) {
        super(json);
    }

    @Override
    public final Object execAction(JSONObject jsonObject, String asName) throws Exception {
        return super.execAction(jsonObject,asName);
    }

    @Override
    public Object getValueByPathForResult(Object value) throws ExecutionException, InterruptedException {
        return super.getValueByPathForResult(value);
    }

    @Override
    public final void destroy() {
    }


    public abstract Object execPath(String path , JSONObject argJson, JSONObject alisJson, JSONObject subJson);


}
